Python打包为exe文件

前言

我们开发的python脚本一般都会用到一些第三方包,当别人需要用到我们编写的脚本时,如果我们将脚本文件发给他,他是不能直接运行去用的,他需要安装python解释器,配置相应的环境,这是相当麻烦的。那怎么办呢?我们可以将脚本和解释器打包成exe,再发给别人去使用。

PyInstaller介绍

PyInstaller是一个的打包python的py文件的库。

PyInstaller除了win32平台外还支持Linux,Unix平台 

PyInstaller本身并不是Python模块,所以安装时放到哪里都可以

优点:

  1. 可将python文件转成可执行文件
  2. 跨平台
  3. 可以选择exe文件的图标 (Windows only)

python脚本是不能脱离python解释器单独运行的,所以在打包的时候,至少会将python解释器和脚本一起打包,同样,为了打包的exe能正常运行,会把我们所有安装的第三方包一并打包到exe。

安装pyinstaller

pip install pyinstaller

使用pyinstaller进行打包

1.我习惯在Anaconda中创建虚拟环境来完成一个个的项目,所以我的PyInstaller库就直接安装在了我要打包的项目的虚拟环境(face)中

2.通过pip命令在虚拟环境中安装好包之后,通过cd命令转移到主文件所在的项目目录中,如cd C:\Users\80621\Desktop\python_learning\recongz

3.我的主文件是run.py

等待打包完成就可以了。 

 打包完成后项目文件夹中会多一个dist目录,exe文件就在其中

若项目中有文件用到了相对路径,需要把那些用到的文件再拷贝一份放到dist目录下。

查用打包命令

Pyinstaller -F setup.py 打包exe

Pyinstaller -F -w setup.py 不带控制台的打包

Pyinstaller -F -i xx.ico setup.py 指定exe图标打包

Pyinstaller -F -w -i xx.ico setup.py 指定exe图标并且不带控制台的打包

ico转换  :在线图片转icon格式 – 图片转换成icon在线工具 – 迅捷PDF转换器在线免费版

以下问题需要注意!!! 、

1)路径问题

如果你的程序中有图片等资源,是需要根据程序中的相对路径加入到dist文件中,也要在.exe同目录中加入images的文件夹(图片资源)

如果原.py程序使用了图片等素材,并且添加图片是相对路径(同一个文件夹下可以不使用绝对路径),打包文件后,需要将图片等素材拷贝一份放在打包后的文件夹下,否则运行.exe程序会找不到图片素材。

如果原.py程序使用图片添加的是绝对路径,在本地电脑上运行时可能不会发现错误。但是你将打包后的文件发给另一台机器,运行.exe程序会报错,大概意思是“根据你写的绝对路径找不到图片等素材”,即使你在文件夹下拷贝了素材,但是绝对路径也是错误的,所以,最好使用上一种方法。

2)打包的主文件问题

只能指定一个要打包的模块,也就是启动模块

发布后,可执行文件执行路径不能有中文(最好也不要有空格)

启动执行的文件中不要有下面这种判断,否则可执行文件执行会没有任何效果

  if __name__=='__main__':

将exe放到其他机子上运行,弹出“找不到msvcr100.dll“ ,手动将”msvcr100.dll“拷贝到dist目录下即可

3)养成良好习惯

写代码的时候应当养成良好的习惯,用什么函数导什么函数,不要上来就import整个库,最后你会发现你一个100KB的代码打包出来有500MB,全是库

使用Inno SetUp制作安装包_鱼生艰难啊的博客-CSDN博客_inno安装包 

  • 27
    点赞
  • 171
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
对于将Python项目转换为EXE文件,有几种不同的方法可以使用。以下是其中的一些: 1. 使用PyInstaller PyInstaller是一个免费的Python库,可以将Python项目转换为独立的EXE文件。它可以在Windows、Linux和Mac OS X上使用。 安装PyInstaller: ``` pip install pyinstaller ``` 转换Python项目为EXE文件: ``` pyinstaller --onefile myscript.py ``` 在命令行中使用上述命令,其中'myscript.py'是Python脚本的名称。这将创建一个独立的EXE文件,包含你的Python项目的所有必需文件。 2. 使用cx_Freeze cx_Freeze是另一个Python库,可以将Python项目转换为可执行文件。它也可以在Windows、Linux和Mac OS X上使用。 安装cx_Freeze: ``` pip install cx_Freeze ``` 转换Python项目为EXE文件: ``` python setup.py build ``` 在命令行中使用上述命令,其中'setup.py'是一个Python脚本,用于描述你的Python项目中使用的所有依赖项和文件。这将创建一个文件夹,其中包含你的Python项目的所有必需文件和可执行文件。 3. 使用py2exe py2exe是一个Python库,可以将Python项目转换为Windows上的EXE文件。 安装py2exe: ``` pip install py2exe ``` 转换Python项目为EXE文件: ``` python setup.py py2exe ``` 在命令行中使用上述命令,其中'setup.py'是一个Python脚本,用于描述你的Python项目中使用的所有依赖项和文件。这将创建一个文件夹,其中包含你的Python项目的所有必需文件和可执行文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值